package com.ruibang.glass.sale.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruibang.glass.sale.domain.req.GSaleOrderReq;
import com.ruibang.glass.sale.dto.GSaleOrderManagementDTO;
import com.ruibang.glass.sale.dto.GSaleToBeSettledDTO;
import com.ruibang.glass.sale.entity.GSaleOrderManagement;
import com.ruibang.glass.sale.entity.SaleBalanceGoods;

import javax.servlet.http.HttpServletResponse;


/**
 * @author mameng
 */
public interface GSaleOrderManagementService extends IService<GSaleOrderManagement> {
    IPage<GSaleOrderManagement> getPage(GSaleOrderReq gSaleOrderReq);
    //待结算待列表
    IPage<GSaleToBeSettledDTO> getGSaleToBeSettledDTOPage(GSaleOrderReq gSaleOrderReq);

    void addGSaleOrderManagement(GSaleOrderManagement gSaleOrderManagement);

    void updateGSaleOrderManagement(GSaleOrderManagement gSaleOrderManagement);

    void updateGSaleOrderManagementByNumber(GSaleOrderManagement gSaleOrderManagement);

    void processNotice(String businessId);

    GSaleOrderManagement getGSaleOrderManagement(String id);

    IPage<GSaleOrderManagementDTO> getNewPage(GSaleOrderReq gSaleOrderReq);

    void orderExport(GSaleOrderReq gSaleOrderReq, HttpServletResponse response);

    /**
     * 待结算单详情
     * @return
     */
    SaleBalanceGoods getGSaleToBeSettledDTODetail(String id);


    String generateNextSerialNumber();

}
